/***********************************************************************************
 * 文件名： mcu_lptimer.h
 * 作者： 刘言
 * 版本： 1
 * 说明：
 * 		低功耗定时器驱动。未测试通过，建议使用官方LL驱动替代。
 * 修改记录：
 * 	2024/9/13: 初版。 刘言。
***********************************************************************************/
#ifndef _MCU_LPTIMER_H_
#define _MCU_LPTIMER_H_



#include "typedef.h"


/**
 * 初始化。如果使用LSE作为时钟源，需要在上电约3秒后检测LSE是否稳定再进行初始化。
 * Lptim将开始运行产生周期中断，已开启中断和NVIC。
 * 如果LpTime用于唤醒STOP模式，建议关闭其他定时器（中断）并且两次进入STOP间隔至少120us.
 */
void LpTim_Init();

/**
 * 清除中断标志
 * 注意一个计时时钟周期(32K约40us)后才会清除成功，清除成功之前不可以再次进入STOP模式。
 * 建议在中断中调用，每次唤醒后至少执行40us再进入STOP。
 */
#define LpTim_ClrIntFlag() LPTIM1->ICR = 0XFFFF

/**
 * 读取计数值
 */
u16 LpTim_GetCnt();

#endif
